package com.qiqidream.admin.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qiqidream.admin.system.model.dto.MenuDto;
import com.qiqidream.admin.system.model.entity.Menu;
import com.qiqidream.admin.system.model.vo.MenuVo;

import java.util.List;

/**
 * @author QiQiDream
 * @since 2019/11/18 10:53
 */
public interface MenuService extends IService<Menu> {
    /**
     * 获取所有菜单
     * @author QiQiDream
     * @since 2019/12/10 10:18
     * @return java.util.List<com.qiqidream.admin.system.model.vo.MenuVo>
     */
    List<MenuVo> getMenus();

    /**
     * 添加菜单
     * @author QiQiDream
     * @since 2019/12/10 10:46
     * @param menuDto 菜单数据
     * @return java.lang.Boolean
     */
    Boolean addMenu(MenuDto menuDto);

    /**
     * 更新菜单
     * @author QiQiDream
     * @since 2019/12/10 10:46
     * @param menuDto 菜单数据
     * @return java.lang.Boolean
     */
    Boolean editMenu(MenuDto menuDto);

    /**
     * 删除菜单及其子菜单
     * @author QiQiDream
     * @since 2019/12/10 20:19
     * @param id 菜单id
     * @return java.lang.Boolean
     */
    Boolean removeMenu(Long id);

    /**
     * 查询有指定【接口路径】的菜单id
     * @author QiQiDream
     * @since 2020/1/3 16:04
     * @param url 路径
     * @param method 请求方法
     * @return java.util.List<java.lang.Long>
     */
    List<Long> getCodeByUrl(String url,String method);
}
